home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group02b.txt
/
000004_icon-group-sender_Fri Aug 16 16:11:53 2002.msg
< prev
next >
Wrap
Internet Message Format
|
2003-01-02
|
2KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7GNATQ22865
for icon-group-addresses; Fri, 16 Aug 2002 16:10:29 -0700 (MST)
Message-Id: <200208162310.g7GNATQ22865@baskerville.CS.Arizona.EDU>
From: Hrvoje Blazevic <hrvoje@despammed.com>
X-Newsgroups: comp.lang.icon
Subject: Re: What about "Expressions?" (was Re: Icon Wish List)
Date: Thu, 15 Aug 2002 23:16:43 +0200
X-Complaints-To: abuse@hinet.hr
User-Agent: Pan/0.11.2 (Unix)
X-Comment-To: "Christopher Browne" <cbbrowne@acm.org>
To: icon-group@cs.arizona.edu
Errors-To: icon-group-errors@cs.arizona.edu
Status: RO
On Thu, 15 Aug 2002 18:53:13 +0200, Christopher Browne wrote:
> I'm just not sure I'm seeing what is the essential difference between
> "statements" and "expressions" here.
>
> I'm not a dumb reader; your English seems fine (better than far too many
> natives!); I'm _quite_ familiar with Lisp and Scheme; I'm just not sure
> what the difference you're getting at is. And perhaps what you have in
> mind isn't the same as what the guy that brought up Terse had in mind...
The difference is essential!
Imperative languages use statements -- which results in flow of
information between different parts of program being passed in the
form of a variable assignment.
Statements do not return values, they have side-effects, most notably
assignment to variables that describe the state of the computation at
any given moment.
Although Icon *is* imperative language it can get away with less state
variables than most, simply because it uses expressions which return
values. Therefore smaller chunks of code in Icon do not have to
describe state as the set of variables.
I may be getting over my head here, because I'm *not* an Icon
programmer. I did get briefly involved with Icon about 10 years ago,
just after several years of down and dirty imperative programming
using Pascal and C/C++. At that time I read "The Icon Programming
Language" (2nd edition), and was instantly drawn to Icon.
Unfortunately at about the same time my son reached fourth
grade, and I wanted to start him on a road to CS, so I started looking
at Logo.
After that, the road was clear; Logo, Lisp (emacs lisp), Scheme and Haskell.
I do not think that I'll ever go back to Icon, but I still sometimes
check the web site, nostalgia ... probably :-)